iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 22
1
DevOps

30 天入門 Ansible 及 Jenkins [2018]系列 第 22

[Day 22] 建置後動作 (中)

  • 分享至 

  • xImage
  •  

Slack Notification

由於現在使用 Slack 作為溝通平台的開發團隊越來越多,所以將 Jenkins 的建置結果傳送到 Slack 頻道內也是一個相當方便的通知做法。讀者可以先自行在 Slack 申請一個帳號並建立一個 workspace 作為測試。

申請好帳號及 workspace 後,在瀏覽器上瀏覽 https://{workspace-url}.slack.com/apps 並搜尋 Jenkins CI 這個應用程式進行安裝:

安裝好後,選擇想要將 Jenkins 通知傳送到哪一個頻道 (channel) 內:

這邊我以 #general 這個頻道作為示範,如果讀者想要建立一個獨立的頻道來接收訊息也完全沒有問題。完成後點選 Add Jenkins CI integration,接著應該就會看到非常詳細的 Jenkins 端設定教學:

Step 3 中,我們會看到這裡有一個 Base URLIntegration Token,這是等等要串接 Jenkins 時會用到的資訊。接著點擊最下面的 Save Settings 後儲存離開。

接著回到 Jenkins 的管理外掛程式頁面,選擇 Slack Notification Plugin 點擊安裝:

註:如果是直接使用在 Ansible 章節的範例來安裝 Jenkins,這個插件已經在 plugins.txt 中被我預先搭載了。讀者可以根據自己的需求修改這份安裝列表,或是利用 Ansible 的 jenkins_plugin 模組來管理 Jenkins 插件。

安裝好之後,回到管理 Jenkins 下的設定系統,找到 Global Slack Notifier Settings,並依序將剛剛在 Slack 安裝應用程式中的 Base URLIntegration Token 分別填入對應位置:

這裡也可以設定預設的通知頻道,設定完後可以點選 Test Connection 來測試連線。如果設定一切都沒意外,應該就會在 Slack 裡看到 Jenkins 的測試通知如下:

設定完成後點選儲存離開。最後,回到專案組態設定,在建置後動作的欄位選擇 Slack Notification

在這裡我們可以選擇要建置作業在何種情況下發送通知,同時如果有不同於全域的 Slack 設定,可以在進階中覆寫掉。依據需求選擇好建置情況後,點選儲存離開組態設定,並執行建置。建置完成後,我們應該會在 Slack 頻道中看到這次的建置結果類似下圖的效果:

這樣一來,Slack 與 Jenkins 的整合就大功告成了!


上一篇
[Day 21] 建置後動作 (上)
下一篇
[Day 23] 建置後動作 (下)
系列文
30 天入門 Ansible 及 Jenkins [2018]30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言